The invention relates to a testing method and a testing device for commencing operation of a system, preferably an automation system, which is controlled by means of a program logic. References describing the state of the art in this general field include U.S. Pat. No. 6,106,572, EP 0 483 368 A1, and JP 101 49 212, all of which are incorporated herein by reference.
As a rule, automation systems are permanently running, open loop and/or closed-loop-controlled cybernetic systems. To control these processes, program logics are used, which are typically composed of program modules that can be requested repeatedly and as needed. The required programming technology is referred to as loop coding.
To create a solution for an open loop or closed loop task, the programmer must dissect the corresponding task as much as possible, divide it into partial tasks and program reusable modules to solve these partial tasks. In the case of graphic programming languages, e.g., ladder diagram or sequential function chart, the respective user programs are said to be composed of modules. These modules consist of networks. The networks represent operations that combine the operands used within the program logic. The networks are ultimately logic operations of the operands used.
Each module of an interface used within the described network can be called by other modules. In the program, the respective modules are called by a corresponding request. After the corresponding module has been executed, the program jumps back to a return address that identifies the location of the statement following the module request. Typically, the return addresses required for this purpose are stored on a so-called stack. With each request of a further module, an additional return address must be deposited on this stack. In other words, the stack grows with each module request. After the program returns to the indicated return address, the information of the return address no longer needs to be stored. The stack shrinks by this information. The return address consists of a module identifier, i.e., the identification of the requesting module, and the value of the address counter that identifies the location of the program statement that is to be executed after the requested module has been executed. The return address, or the information deposited on the stack for each module request, thus uniquely identifies the corresponding module request.
In connection with the startup of automation systems, it is often necessary to observe the program logic used for the open loop or closed loop control of the automation system in specific situations, i.e., under specific parameters. Observing the program under specific defined conditions often requires observing a specific module.